683968dd07d5dce8e77b599b519de4d32c8f1171,examples/it.xsemantics.example.fj/xsemantics-gen/it/xsemantics/example/fj/typing/FjTypeSystem.java,FjTypeSystem,applyRuleRNew,#RuleEnvironment#RuleApplicationTrace#New#,1827
Before Change
New exp1 = null; // output parameter
New _clone = this.<New>clone(exp);
exp1 = _clone;
EList<Expression> _args = exp1.getArgs();
final Predicate<Expression> _function = new Predicate<Expression>() {
public boolean apply(final Expression it) {
Boolean _isValue = FjTypeSystem.this.isValueInternal(_trace_, it);
After Change
protected Result<Expression> applyRuleRNew(final RuleEnvironment G, final RuleApplicationTrace _trace_, final New exp) throws RuleFailedException {
New exp1 = null; // output parameter
exp1 = this.<New>clone(exp);
final Predicate<Expression> _function = new Predicate<Expression>() {
@Override
public boolean apply(final Expression it) {
Boolean _isValue = FjTypeSystem.this.isValueInternal(_trace_, it);
return (!(_isValue).booleanValue());
}
};
final int indexOfNextToReduce = Iterables.<Expression>indexOf(exp1.getArgs(), _function);
/* { indexOfNextToReduce < 0 } or { val nextToReduce = exp1.args.get(indexOfNextToReduce) G |- nextToReduce ~> var Expression expi exp1.args.set(indexOfNextToReduce, expi) } */
{
RuleFailedException previousFailure = null;